1. Field of the Invention
The present invention relates to an interrupt controller for use in a microcomputer, and more specifically to an interrupt controller having an interrupt priority control function.
2. Description of Related Art
In general, an interrupt controller has been located between a central processing unit (CPU) and a plurality of peripheral input/output (I/O) devices, and in ordinary cases, has the following functions:
(1) It is to acknowledge an interrupt request from each of the peripheral devices and to request an interrupt processing to the CPU; PA1 (2) When a plurality of interrupt requests are concurrently generated from a plurality of peripheral devices, it is to select and acknowledge one interrupt request in accordance with the ranking of priority and to request a corresponding interrupt processing to the CPU; and PA1 (3) When the CPU is in the course of execution of an interrupt processing based on an interrupt request, if another interrupt request having a priority higher than that of the interrupt request corresponding to the interrupt processing under execution, it is to acknowledge the interrupt request having the high priority and to request a corresponding interrupt processing to the CPU. This function is called an "interrupt nesting function" based on the priority order control.
In the above mentioned interrupt function, an interrupt request which can be acknowledged in the course of execution of the interrupt processing of the CPU is limited to ones having a priority higher than that of the interrupt request corresponding to the interrupt processing under execution. Therefore, even if there is generated an interrupt request having the same priority as that of the interrupt request corresponding to the interrupt processing under execution, the late generated interrupt is not acknowledged, and therefore, is suspended in a not-yet-treated condition.
Recently, microcomputers have been used in various fields of application, and in some systems to be realized, it is desired to execute the interrupt nesting function for an interrupt request having the same priority as that of the interrupt request corresponding to the interrupt processing under execution. However, an interrupt controller having such a function has not yet been proposed. Therefore, this function has been realized in a software manner based on a program.